I. Field of the Invention
The present invention relates to data communication. More particularly, the present invention relates to a novel and improved data buffer structure for storing symbols in an asynchronous CDMA system and method for efficiently processing symbols using such data buffer structure.
II. Description of the Related Art
A modern day communications system is required to support a variety of applications. One such communications system is a code division multiple access (CDMA) system that supports voice and data communication between users over a terrestrial link. The use of CDMA techniques in a multiple access communication system is disclosed in U.S. Pat. No. 4,901,307, entitled xe2x80x9cSPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS,xe2x80x9d and U.S. Pat. No. 5,103,459, entitled xe2x80x9cSYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM,xe2x80x9d both assigned to the assignee of the present invention and incorporated herein by reference.
A CDMA system is typically designed to conform to one or more standards. One such first generation standard is the xe2x80x9cTIA/EIA/IS-95 Terminal-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System,xe2x80x9d hereinafter referred to as the IS-95 standard and incorporated herein by reference. The IS-95 CDMA systems are able to transmit voice data and (albeit not efficiently) packet data. A newer generation standard that can more efficiently transmit packet data is offered by a consortium named xe2x80x9c3rd Generation Partnership Projectxe2x80x9d (3GPP) and embodied in a set of documents including Document Nos. 3G TS 25.211, 3G TS 25.212, 3G TS 25.213, and 3G TS 25.214, which are readily available to the public. The 3GPP standard is hereinafter referred to as the W-CDMA standard and incorporated herein by reference.
The W-CDMA standard defines a channel structure capable of supporting a number of users and designed for efficient transmission of packet data. In accordance with the W-CDMA standard, data to be transmitted is processed as one or more xe2x80x9ctransportxe2x80x9d channels at a higher signaling layer. The transport channels support concurrent transmission of different types of services (e.g., voice, video, data, and so on). The transport channels are then mapped to one or more xe2x80x9cphysicalxe2x80x9d channels that are assigned to a user terminal for a communication (e.g., a call).
The W-CDMA standard allows for a great deal of flexibility in the processing of the transport channels. For example, data for a particular transport channel can be coded using a convolutional code, a Turbo code, or not coded at all. Also, the data can be interleaved over one of four different time intervals (i.e., 10 msec, 20 msec, 40 msec, or 80 msec) to provide temporal diversity against deleterious path effects (e.g., fading, multipaths, and so on). Different combinations of coding scheme and interleaving interval can be selected to provide improved performance for different types of services. For example, enhanced efficiency and performance may be obtained by processing packet data using Turbo code and a long interleaving interval, which may result in longer processing delays. In contrast, voice and video data may be processed using convolutional code and a short interleaving interval since long processing delays cannot be tolerated.
A user terminal in a W-CDMA system may receive multiple transmissions (i.e., multiple transport channels) concurrently on multiple physical channels. For costs consideration, it is highly desirable to design a user terminal capable of processing multiple transmissions using a basic set of processing and storage elements. In particular, a data buffer structure that can be used to efficiently store data for multiple transport/physical channels, and to facilitate the processing of such data, is highly desirable.
The present invention provides a data buffer structure that can be used to efficiently store symbols received for one or more transport channels transmitted via one or more physical channels. The data buffer structure can be designed to match the capability of the user terminal (i.e., a particular supported peak data rate). The data buffer structure can also be operated to facilitate various required signal processing such as, for example, de-interleaving, physical channel concatenation, transport channel demultiplexing, and so on.
An aspect of the invention provides a receiver unit that can be operated to process data transmissions in a communications system (e.g., a W-CDMA system). The receiver unit includes a channel processor, a buffer, and a data processor. The channel processor processes samples for one or more physical channels for each time interval to provide symbols. The buffer couples to the channel processor and is operated as a number of memory banks. Each memory bank is associated with a respective time interval and stores symbols associated with that time interval. The data processor retrieves symbols for a particular xe2x80x9ctrafficxe2x80x9d from one or more memory banks and processes the retrieved symbols. For the W-CDMA system, each traffic includes one or more radio frames for a particular transmission time interval (TTI). The receiver unit typically further includes a controller and a decoder. The controller directs the storage and retrieval of symbols to and from the memory banks. The decoder receives and decodes symbols processed by the data processor.
Another aspect of the invention provides a data buffer structure for storing symbols in a communications system. The structure includes a number of memory banks (e.g., at least eight memory banks for the W-CDMA system) and an address generator. Each memory bank is associated with a respective time interval and stores symbols for the associated time interval in permutated locations of the memory bank to achieve a second de-interleaving. Symbols are later retrieved from one or more memory banks in permutated order to achieve a first de-interleaving. Each memory bank is typically sized to store all symbols expected to be received from all physical channels for the associated time interval. The address generator provides memory addresses for writing and reading symbols to and from the memory banks. The address generator can be implemented to include the data structures described above, which are used to maintain track of the memory banks and the physical channels being processed. Each memory bank can be implemented with two half-banks that allow for writing of symbols to one half-bank and reading of symbols from the other half-bank.
Various aspects, embodiments, and features of the invention are described in further detail below.